import { showError, showSuccess } from '/@/utils';
import { enumCode } from '/@/const';
// 定义各个组件的引用
export const billPanelRef = ref();
export const listRef = ref();
import { useConfirmDialog } from '/@/hooks/useConfirmDialog'
/**
 * 初始化状态的函数
 * @returns 返回一个包含初始状态的对象
 */
const initialState = () => {
    return {
    // 是否处于编辑状态
    isEdit: true,
    loading:false,
    traTuiXueMingXiList: [] as any[],
    tuiXue:{
        danJuZhuangTai:"",
        tuiXueYuanYing:""

    }
    }
}

// 创建一个响应式的上下文对象，初始值为 initialState 函数的返回值
export const ctx = reactive(initialState());
/**
 * 创建一个新的实体，将上下文对象重置为初始状态并设置为编辑状态
 */
export const newEntity = () => {
  // 将上下文对象重置为初始状态
  Object.assign(ctx, initialState());
  // 设置为编辑状态
  ctx.isEdit = true;
}




/**
 * 提交表单数据
 */
export const submit = async () => {


}

//#region 血液处理
/**
 * 扫描血液信息并处理
 * @param blood 库存血液信息
 */
export const scanEnter = (blood: any) => {
  console.log(blood);
  // 如果血液不在库中，则显示错误信息并返回
  if (blood.kuCunZhuangTai == enumCode.KuCunZhuangTai.在库) return showError('该血液在库中');
  // 如果该血液已录入，则显示错误信息并返回
  if (ctx.traTuiXueMingXiList.find(item => item.invKuCun?.id == blood.id)) return showError('该血液已录入');

  // 将扫描到的血液信息添加到快速发血明细列表中
  ctx.traTuiXueMingXiList.push({
    invKuCun: blood
  })
}
/**
 * 扫描发血单号
 * @param danHao 单号
 */
export const scanBillEnter = (danHao: any) => {
  
}

export const updateTuiXueMingXi=()=>{}


export const delBlood = (row: any) => {
  useConfirmDialog(`是否确认删除此数据`).then(() => {
    ctx.traTuiXueMingXiList = ctx.traTuiXueMingXiList.filter(item => item?.id != row?.id);
  })

}

//#endregion

//#region 打印处理
/**
 * 打印功能，目前为空实现
 */
export const print = () => {

}
//#endregion

